In a conventional copier or MFP or image forming apparatus (hereinafter, for ease, collectively referred to as “copier”), when a user wants to print a document or an image in color, the user sends, by way of a personal computer (PC) 100, a postscript file (e.g., PDL) to a color printer 110, as seen in FIG. 1. The color printer 110 includes a PDL interpreter 120, which converts the PDL file to Red/Green/Blue (RGB) bitmap image. A color conversion unit 130 converts the RBG bitmap image to Cyan/Magenta/Yellow/Black (CMYK) data, whereby this conversion is done by using information provided by a color conversion parameter storage 140. In particular, the color conversion parameter storage 140 provides a color conversion parameter (CCP) to the color conversion unit 130. The color conversion unit 130 outputs the CMYK data to a printing engine 150, which prints the document or image in color, and which provides a hard copy for the user.
FIG. 2 shows, in further detail, the color conversion parameter storage 140. The color conversion parameter storage 140 stores a plurality of color conversion parameters, such as CCP1, CCP2, CCP3, . . . , CCPn, whereby the color conversion parameter storage 140 is typically implemented as a color table. The color printer 110 has many different versions of color conversion parameters that are stored in the color conversion parameter storage 140. A CCP is selected from the color conversion parameter storage 140 based on one or more of the following exemplary parameters: color mode, print resolution, halftone processing, and paper type used. Based on those inputs, the proper color conversion parameter (e.g., CCP3) is output by the color conversion parameter storage 140 to the color conversion unit 130.
FIG. 3 shows contents of a 3-dimensional lookup table (3-D LUT) 300 that may be implemented in the color conversion parameter storage 140. The LUT 300 includes L*a*b* data that corresponds to ‘addresses’ in the LUT 300, and CMYK data that corresponds to the ‘data’ in the LUT 300. Based on the LUT 300, L*a*b* is converted to CMYK data. L*a*b* data corresponds to the output color, and is a device independent color space. CMYK data corresponds to an amount of actual colors (cyan, magenta, yellow, black) to be printed on a sheet of paper.
FIG. 4 shows details of the color conversion unit 130. The color conversion unit 130 includes an RGB-to-L*a*b* conversion unit 410, which outputs L*a*b* data. This conversion is typically done using standard conversion equations or by using a Lookup Table. The color conversion unit 130 also includes a L*a*b*-to-CMYK conversion unit 420, which may be implemented by way of the 3-D LUT 300 shown in FIG. 3. The L*a*b*-to-CMYK conversion unit 420 is provided with a color conversion parameter (CCP) that is output from the color conversion parameter storage 140, and whereby the L*a*b*-to-CMYK conversion unit 420 outputs CMYK data to a printing engine (not shown, but see FIG. 1).
FIG. 5 shows a 3-D L*a*b* space 500, in order to show how a color conversion table can be used to perform an interpolation so as to obtain an accurate CMYK data value from an input L*a*b* data value. If an input L*a*b* value is stored in the 3-D LUT 300, then the CMYK value corresponding to the input L*a*b* value is obtained directly from the 3-D LUT 300. However, if the input L*a*b* value is not currently stored in the 3-D LUT 300, then an interpolation can be performed in order to obtain the CMYK value that corresponds to the input L*a*b* value. As shown in FIG. 5, an eight-point interpolation is performed in order to extract the eight neighboring points for an input L*a*b* value, whereby a standard interpolation provides the proper CMYK value.
FIG. 6 shows a conventional color conversion parameter adjustment system 600. In order to adjust a color conversion parameter (CCP), an application (not shown) on a user's PC 610 is utilized. A user determines a source color and a destination color, and a color conversion parameter (e.g., CCP1) corresponding to the source and destination colors is determined by the application. A CCP is downloaded to the user's PC 610 from the color conversion parameter storage 140 of the color printer 110 to a color adjustment means 620 of the user's PC 610, and the user edits the CCP. In particular, the user selects one CCP to adjust, and that CCP is downloaded to the user's PC 610.
Referring now to FIG. 7A, in the source/destination color selection process, a user chooses a color to adjust from a source color display. In FIG. 7A, a scanned image is provided as a display image 710 on the user's PC 610, whereby the letter “A” is shown as having a light-red color on the user's display. The user changes that light-red color to a dark-red color, by performing an operation (e.g., mouse operation and/or keyboard operation, by selecting a destination color from a color palette provided on the display) on a pertinent area on the display (e.g., over the letter “A” region on the display). This is done in order to obtain a desired destination color, as shown in the display image 720 of FIG. 7B, whereby the letter “A” is now provided as a darker red color than the letter “A” in FIG. 7A. The color adjustment means 620 changes the CCP provided to it by the color printer 110 in accordance with the source/destination color changes made by the user, and the adjusted CCP is output to the color conversion parameter storage 140 of the color printer 110, whereby it is stored as a new CCP value.
A problem exists in the conventional CCP adjustment process in that a user can only adjust one CCP at a time. If a user desires to adjust two or more CCPs, the entire CCP adjustment process must repeat the download/edit/upload process for each CCP being adjusted. With printers having numerous CCPs, this can become a very time consuming process.
Accordingly, there exists a desire to allow for a plurality of CCPs to be adjusted in a more expedient manner.